//全局变量
var offset = window.top.systemScrollWidth;

Ext.onReady(function() {

	//初始化tip
		Ext.tip.QuickTipManager.init();
		Ext.apply(Ext.tip.QuickTipManager.getQuickTip(), {
			maxWidth : 300,
			minWidth : 100,
			showDelay : 0
		});
		
       var store_sum=Ext.create('Ext.data.JsonStore',{
       fields:['monObjName', 'date','sumValue','totalMoney','averagePrice']
       });
		//综合电价分析表
		var store_tab1 = Ext.create('Ext.data.JsonStore', {
			fields : [ 'monObjName', 'date','sumValue','totalMoney','averagePrice',
						{name:'sumValue_',convert:function(v,r){
							if(r.get('sumValue')==-1.00) return '';
							else return r.get('sumValue');
						}},{name:'totalMoney_',convert:function(v,r){
							if(r.get('totalMoney')==-1.00) return '';
							else return r.get('totalMoney');
						}},
						{name:'averagePrice_',convert:function(v,r){
							if(r.get('averagePrice')==-1.00) return '';
							else return r.get('averagePrice');
						}}
					],
			autoLoad : false,
			proxy : {
				type : 'ajax',
				url : 'updownEletricityConstrue_synthesizeEletricityPriceAnlysis.action',
				reader : {
					type : 'json',
					root : 'synElecPriceList',
					totalProperty : 'totalProperty'
				}
			}
		});
//按钮
	//创建combo的模型
		if (!Ext.ModelManager.isRegistered('model')){
			Ext.define('model', {
				extend : 'Ext.data.Model',
				fields : [ 'abbr', 'name' ]
			});
		}

		//定义时间格式combo的数据源
		var selectType_store = new Ext.data.Store( {
			model : 'model',
			autoLoad : true,
			data : [ {
				'abbr' : '1',
				'name' : '服务器信息'
			}, {
				'abbr' : '2',
				'name' : '网络工作组信息'
			}]
		});
		
		//创建时间格式combo
		var selectType = Ext.create('Ext.form.ComboBox', {
			width : 170,
			labelAlign : 'right',
			labelWidth : 60,
			fieldLabel : '扫描类型',
			store : selectType_store,
			editable : false,//是否可以编辑
			queryMode : 'local',
			value : '1',
			displayField : 'name',
			valueField : 'abbr'
		});

		//创建时间格式dateField
		var date_begin = Ext.create('Ext.form.field.Date', {
			width : 160,
			style : 'margin-left:10',
			fieldLabel : '查询日期',
			editable : true,
			labelWidth:53,
			emptyText : '请选择',
			format : 'Y-m',
			style : 'margin-left:15',
			value : Ext.Date.add(new Date(), Ext.Date.MONTH, -1)
		});
		//创建查询按钮
		var query = Ext.create('Ext.button.Button', {
			text : '查询',
			width:80,
			style : 'margin-left:15'
		});
		
		//创建导出按钮
		var exp = Ext.create('Ext.button.Button', {
			text : '导出',
			width:80,
			style : 'margin-left:15'
		});
		//exp.disable();
	//创建顶部的表单
		var form_ = Ext.create('Ext.form.Panel',{
			width : document.getElementById("EletricityConstrueBill").clientWidth-5-offset,
			border : false,
			bodyStyle : 'border-top:none;border-left:none;border-right:none',
			items : [{
		        xtype: 'label',
		        text: document.getElementById("updownUserName").value,
		        style: 'margin-top:3;font-size:1pt;color:black'
			},{
				id : 'top',
				xtype : 'fieldset',
				layout : 'column',
				style:'background:#DEEBF3;margin-top:3;padding-top:6;padding-bottom:3',
				items : [ selectType, date_begin,query,exp ]
			} ]
		});

		
//数据表
		//创建统计表标签
		var grid1_label = Ext.create('Ext.form.Label', {
			text : '综合电价统计值',
			style : 'font-size:3pt;font-weight:bold'
		});
		
		
		//创建数据源表标签
		var grid2_label = Ext.create('Ext.form.Label', {
			text : '综合电价分析值',	
			style : 'font-size:3pt;font-weight:bold'
		});
		var grid_sum = Ext.create('Ext.grid.Panel', {
			width : document.getElementById("EletricityConstrueBill").clientWidth-5-offset,
			border : true,
			height : 200,
			store : store_sum,
			forceFit : true,
			columnLines : true,
			columns : {
				id : 'column_grid_sum',
				items : [{
					id : 'monObjName_',
					text : '监测对象',
					dataIndex : 'monObjName',
					align:'center',
					width : 300
				}, {
					id : 'date_',
					text : '日期',
					align:'center',
					dataIndex : 'date',
					renderer : function(v) {
						if(selectType.getValue() == 1)
							return v.substring(0,7); 
						else 
							return v.substring(0,4);
					
					},
					width : 300
				}, 
					{
					id : 'averagePrice_',
					text : '综合电价(元/kWh)',
					align:'center',
					dataIndex : 'averagePrice',
					renderer : function(v) {
						if (v == '')
							return v;
						else{
							var t = Math.round(v * 100) / 100;
							if (Math.round(v * 100) % 100 == 0)
								t = t + '.00';
							else if (Math.round(v * 100) % 10 == 0)
								t = t + '0';
							return t;
						}
					},
					width : 300
				},{
					id : 'sumValue_',
					text : '总耗电量(kWh)',
					align:'center',
					dataIndex : 'sumValue',
					renderer : function(v) {
						if (v == '')
							return v;
						else{
							var t = Math.round(v * 100) / 100;
							if (Math.round(v * 100) % 100 == 0)
								t = t + '.00';
							else if (Math.round(v * 100) % 10 == 0)
								t = t + '0';
							return t;
						}
					},
					width : 300
				
				},{
					id : 'totalMoney_',
					text : '总电费（元）',
					align:'center',
					dataIndex : 'totalMoney',
					renderer : function(v) {
						if (v == '')
							return v;
						else{
							var t = Math.round(v * 100) / 100;
							if (Math.round(v * 100) % 100 == 0)
								t = t + '.00';
							else if (Math.round(v * 100) % 10 == 0)
								t = t + '0';
							return t;
						}
					},
					width : 300
				
				}]
				
			}
		});		

	var grid_ = Ext.create('Ext.grid.Panel', {
			width : document.getElementById("EletricityConstrueBill").clientWidth-5-offset,
			border : true,
			height : 294,
			store : store_tab1,
			forceFit : true,
			columnLines : true,
			columns : {
				id : 'column_grid_',
				items : [{
					id : 'monObjName',
					text : '监测对象',
					dataIndex : 'monObjName',
					align:'center',
					width : 300
				}, {
					id : 'date',
					text : '日期',
					align:'center',
					dataIndex : 'date',
					renderer : function(v) {
						return v.substring(0,10);  //“月” 的格式为"年-月-日",年还没做
					},
					width : 300
				}, 
					{
					id : 'averagePrice',
					text : '综合电价(元/kWh)',
					align:'center',
					dataIndex : 'averagePrice_',
					renderer : function(v) {
						if (v == '')
							return v;
						else{
							var t = Math.round(v * 100) / 100;
							if (Math.round(v * 100) % 100 == 0)
								t = t + '.00';
							else if (Math.round(v * 100) % 10 == 0)
								t = t + '0';
							return t;
						}
					},
					width : 300
				},{
					id : 'sumValue',
					text : '总耗电量(kWh)',
					align:'center',
					dataIndex : 'sumValue_',
					renderer : function(v) {
						if (v == '')
							return v;
						else{
							var t = Math.round(v * 100) / 100;
							if (Math.round(v * 100) % 100 == 0)
								t = t + '.00';
							else if (Math.round(v * 100) % 10 == 0)
								t = t + '0';
							return t;
						}
					},
					width : 300
				
				},{
					id : 'totalMoney',
					text : '总电费（元）',
					align:'center',
					dataIndex : 'totalMoney_',
					renderer : function(v) {
						if (v == '')
							return v;
						else{
							var t = Math.round(v * 100) / 100;
							if (Math.round(v * 100) % 100 == 0)
								t = t + '.00';
							else if (Math.round(v * 100) % 10 == 0)
								t = t + '0';
							return t;
						}
					},
					width : 300
				
				}]
				
			}
		});	
		
	//创建总体Panel容器
		var all_ = Ext.create('Ext.Panel', {
			renderTo : 'EletricityConstrueBill',
			frame : false,
			//title : '当前能耗分析-峰谷电量分析',
			border : false,
			width : document.getElementById("EletricityConstrueBill").clientWidth-5,
			height : '100%',
			autoScroll : true,
			margin : '0px 0px 0px 5px',
			items : [ form_,grid1_label,grid_sum,grid2_label,grid_ ]
		});
		
	//查询事件	
		query.on('click',function(btn, e) {
			chart_.setVisible(true);
			grid_sum.setVisible(true);
			grid_.setVisible(true);
			grid1_label.setVisible(true);
			grid2_label.setVisible(true);
			if (date_begin.getValue() == null|| date_begin.getValue() == ''){
				Ext.MessageBox.show( {
					title : 'Warning',
					msg : '请先选择日期！',
					buttons : true,
					icon : Ext.MessageBox.INFO
				});
				return ;
			}
			if (!date_begin.isValid()){
				Ext.MessageBox.show( {
					title : 'Warning',
					msg : '日期格式不正确！',
					buttons : true,
					icon : Ext.MessageBox.INFO
				});
				return ;
			}
			store_sum.removeAll();
			store.load({
				params : {
					"selectType" : selectType.getValue(),
					"startTime" : date_begin.getValue()
				},
				callback : function(records, operation, success) {
					var jsonData = store.proxy.reader.jsonData;
					if (store == null || store.getCount() == 0) {
						exp.disable();
					   chart_column.disable();
				        chart_line.disable();
						if(jsonData.objFunction === "1"){
							Ext.example.msg("提示", "请择选第三级或第四级结点！");
						}else if(jsonData.objFunction === "2"){
							Ext.example.msg("提示", "所选第三级节点无主表，请选择第四级节点！");
						}else{
							Ext.example.msg("提示", "此对象所选时间段内没有数据，请重新选择！");
						}	
					}else{
						exp.enable();
						chart_.enable();
						store_tab1.load( {
							params : {
								"selectType" : selectType.getValue(),
								"startTime" : date_begin.getValue()
							},
							callback : function(records, operation, success) {
								grid_.setHeight(store_tab1.getCount()*26);

								var upMoney = jsonData.upTotalValue*jsonData.upElecPrice;
								var middleMoney = jsonData.middleTotalValue*jsonData.midElecPrice;
								var downMoney = jsonData.downTotalValue*jsonData.downElecPrice;
								var totalMoney = upMoney+middleMoney+downMoney;
								var average = totalMoney / jsonData.sumValue;
								
								store_sum.add({
									'monObjName': jsonData.monObjName,
									'date':	jsonData.date,
									'sumValue':jsonData.sumValue,
									'totalMoney':totalMoney,
									'averagePrice':average
								});
							}
						});
					}
				}
			});
		});
		
		//导出事件：
		exp.on('click',function(btn, e) {
			location.href = 'EletricityPriceAnlysisExp_EletricityPriceAnlysisExp.action?selectType='+selectType.getValue()+'&startTime='+date_begin.getValue();
		});
		
		
		//定义时间格式combo事
		
		selectType.on("change",function(combo, newValue, oldValue) {
			
			date_begin.setValue("");
			if(Ext.getCmp('radio1').getValue()==true){
				chart_column.setHeight(300);
				chart_line.setHeight(0);
				
			}else{
				
				chart_column.setHeight(0);
				chart_line.setHeight(300);
			}
			if (newValue == "2") {
				date_begin.format = "Y";
				date_begin.setValue(new Date());
				
			} else if (newValue == "1") {
				date_begin.format = "Y-m";
				date_begin.setValue(new Date());
				
			}
			
		
		});

		//配置加载等待信息
		var mask;
		store_tab1.on('beforeload', function() {
			mask = new Ext.LoadMask(chart_, {
				msg : "Loading..."
			});
			mask.show();
		});
		store_tab1.on('load',function(){
			mask.hide();
		});
		//定义窗口onresize事件
		window.onresize = function() {
			all_.setWidth(document.getElementById('EletricityConstrueWid').scrollWidth);
			chart_.setWidth(document.getElementById('EletricityConstrueWid').scrollWidth);
			grid_.setWidth(document.getElementById('EletricityConstrueWid').scrollWidth);
		};
		
});